define(function () {
    return function (pane) {
        publicApi('user_load').then(function (user) {
            pane.html(utils.getHtml('my', user));

            /**
             * 修改密码
             */
            $('.change_password', pane).formValidation({
                framework: 'bootstrap',
                fields: {
                    oldpassword: {
                        validators: {
                            notEmpty: {message: '旧密码不能为空'}
                        }
                    },
                    newpassword: {
                        validators: {
                            notEmpty: {message: '新密码不能为空'}
                        }
                    }
                }
            }).on('success.form.fv', function (e) {
                e.preventDefault();
                var $form = $(e.target), fv = $form.data('formValidation');
                publicApi('change_password', $form.serialize()).done(function (data) {
                    if (data.success) {
                        utils.fixedAlert('success', '修改密码成功');
                        location.reload(true);
                    } else {
                        utils.fixedAlert('warning', data.message || '修改密码失败');
                    }
                }).fail(function () {
                    utils.fixedAlert('warning', '修改密码失败');
                }).always(function () {
                    if (fv.getSubmitButton()) {
                        fv.disableSubmitButtons(false);
                    }
                });
            });

            /**
             * 修改用户信息
             */
            $('.change_info').formValidation({framework: 'bootstrap'}).on('success.form.fv', function (e) {
                e.preventDefault();
                var $form = $(e.target), fv = $form.data('formValidation');
                publicApi('user_edit', $form.serialize()).done(function (data) {
                    if (data.success) {
                        utils.fixedAlert('success', '修改用户信息成功');
                    } else {
                        utils.fixedAlert('warning', '修改用户信息成功');
                    }
                }).fail(function () {
                    utils.fixedAlert('warning', '修改用户信息成功');
                }).always(function () {
                    if (fv.getSubmitButton()) {
                        fv.disableSubmitButtons(false);
                    }
                });
            });

        });
    }
});